package com.alisoft.nano.seda.monitor;

import com.alisoft.nano.seda.notification.StageNotificationListener;

@SuppressWarnings("serial")
public abstract class StageMonitor<T> extends StageNotificationListener<T> {	
	public abstract double getTPS();
	public abstract double getMaxTPS();
	public abstract double getActiveThreadsOnMaxTPS();
	
	public abstract long getPendingEventCount();
	public abstract long getEventCompletedCount();
	public abstract double getForecastProcessingTime();	
	public abstract double getCPUTimeRate();
	public abstract double getCPUTime();
	
	public abstract void startProfile();
	public abstract ProfileResult stopProfile();
}
